package com.rz.htk.product.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rz.core.common.model.PageEntity;

import java.time.LocalDateTime;

/**
 * @ClassName ProductPrice
 * @Description 产品资费信息
 * @Author maweiyue
 * @Date 2019/3/26 20:37
 */
@TableName("prd_price")
public class ProductPrice extends PageEntity {

    @TableId(type = IdType.AUTO)
    private Integer id;

    /** 产品编号 */
    private String prdCode;

    /** 国家代码 */
    private String countryCode;

    /** 货币种类 */
    private String currency;

    /** 快递类型（平邮:1 / 挂号信:2） */
    private String expressType;

    /** 计价类型：重量计价/体积计价/最大重量计价 */
    private String priceType;

    /** 挂号费 */
    private double certificationFee;

    /** 每件处理费 */
    private double coverCharge;

    /** 路向（目的地） */
    private String destination;

    /** 起步重量（克） */
    private int startingWeight;

    /** 起步价格（元） */
    private double startingPrice;

    /** 续重（克） */
    private int rate;

    /** 续重价格（元） */
    private double ratePrice;

    /** 最小重量 */
    private int minWeight;

    /** 最大重量 */
    private int maxWeight;

    /** 起步体积（CM2） */
    private int startingSize;

    /** 起步价格（元） */
    private double startingSizePrice;

    /** 增量体积（CM2） */
    private int rateSize;

    /** 增量价格（元） */
    private double rateSizePrice;

    /** 最小体积 */
    private int minSize;

    /** 最大体积 */
    private int maxSize;

    /** 体积换算成重量的比例 */
    private double ratio;

    /** 包裹类型 */
    private String packageType;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
    private LocalDateTime crteTime;

    /** 创建者 */
    private Integer crteMngId;

    /** 状态 */
    private int delFlag;

    /** 分区：比如美国邮政将美国分为8个区，同样的产品不同分区价格不一样 */
    private String zone;

    /** 产品名称 */
    @TableField(exist = false)
    private String prdName;

    /** 产品名称 */
    @TableField(exist = false)
    private String packageName;

    /** 国家名称 */
    @TableField(exist = false)
    private String countryName;

    @TableField(exist = false)
    private Integer printTempId;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCountryCode() {
        return countryCode;
    }

    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getPrdCode() {
        return prdCode;
    }

    public void setPrdCode(String prdCode) {
        this.prdCode = prdCode;
    }

    public String getExpressType() {
        return expressType;
    }

    public void setExpressType(String expressType) {
        this.expressType = expressType;
    }

    public double getCertificationFee() {
        return certificationFee;
    }

    public void setCertificationFee(double certificationFee) {
        this.certificationFee = certificationFee;
    }

    public double getCoverCharge() {
        return coverCharge;
    }

    public void setCoverCharge(double coverCharge) {
        this.coverCharge = coverCharge;
    }

    public String getDestination() {
        return destination;
    }

    public void setDestination(String destination) {
        this.destination = destination;
    }

    public int getStartingWeight() {
        return startingWeight;
    }

    public void setStartingWeight(int startingWeight) {
        this.startingWeight = startingWeight;
    }

    public double getStartingPrice() {
        return startingPrice;
    }

    public void setStartingPrice(double startingPrice) {
        this.startingPrice = startingPrice;
    }

    public int getRate() {
        return rate;
    }

    public void setRate(int rate) {
        this.rate = rate;
    }

    public double getRatePrice() {
        return ratePrice;
    }

    public void setRatePrice(double ratePrice) {
        this.ratePrice = ratePrice;
    }

    public String getPackageType() {
        return packageType;
    }

    public void setPackageType(String packageType) {
        this.packageType = packageType;
    }

    public LocalDateTime getCrteTime() {
        return crteTime;
    }

    public void setCrteTime(LocalDateTime crteTime) {
        this.crteTime = crteTime;
    }

    public Integer getCrteMngId() {
        return crteMngId;
    }

    public void setCrteMngId(Integer crteMngId) {
        this.crteMngId = crteMngId;
    }

    public int getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(int delFlag) {
        this.delFlag = delFlag;
    }

    public String getPrdName() {
        return prdName;
    }

    public void setPrdName(String prdName) {
        this.prdName = prdName;
    }

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public int getMinWeight() {
        return minWeight;
    }

    public void setMinWeight(int minWeight) {
        this.minWeight = minWeight;
    }

    public int getMaxWeight() {
        return maxWeight;
    }

    public void setMaxWeight(int maxWeight) {
        this.maxWeight = maxWeight;
    }

    public String getCountryName() {
        return countryName;
    }

    public void setCountryName(String countryName) {
        this.countryName = countryName;
    }

    public Integer getPrintTempId() {
        return printTempId;
    }

    public void setPrintTempId(Integer printTempId) {
        this.printTempId = printTempId;
    }

    public String getPriceType() {
        return priceType;
    }

    public void setPriceType(String priceType) {
        this.priceType = priceType;
    }

    public int getStartingSize() {
        return startingSize;
    }

    public void setStartingSize(int startingSize) {
        this.startingSize = startingSize;
    }

    public double getStartingSizePrice() {
        return startingSizePrice;
    }

    public void setStartingSizePrice(double startingSizePrice) {
        this.startingSizePrice = startingSizePrice;
    }

    public int getRateSize() {
        return rateSize;
    }

    public void setRateSize(int rateSize) {
        this.rateSize = rateSize;
    }

    public double getRateSizePrice() {
        return rateSizePrice;
    }

    public void setRateSizePrice(double rateSizePrice) {
        this.rateSizePrice = rateSizePrice;
    }

    public int getMinSize() {
        return minSize;
    }

    public void setMinSize(int minSize) {
        this.minSize = minSize;
    }

    public int getMaxSize() {
        return maxSize;
    }

    public void setMaxSize(int maxSize) {
        this.maxSize = maxSize;
    }

    public double getRatio() {
        return ratio;
    }

    public void setRatio(double ratio) {
        this.ratio = ratio;
    }

    public String getZone() {
        return zone;
    }

    public void setZone(String zone) {
        this.zone = zone;
    }
}
